Файл: VampusWorld.txt
Дата: 10.04.2014
1:
2:
3:
4:
5:
6:
7: присвоить МИР_ВЫСОТА 4 МИР_ШИРИНА 4
8: присвоить цвет_стрелка 11 цвет_вампуса 10 цвет_ямы 9 цвет_золота 12 цвет_пусто 16
9:
10: функция Есть_в_квадрате? высота ширина объект
11: память локальный ответ
12: присвоить ответ [$ложь]
13:
14: если (память существует $результат "МИР;[высота];[ширина]" )
15: если (множество и $результат "[МИР;[высота];[ширина]]" [объект] ) == [объект]
16: присвоить ответ [$истина]
17: конец
18: конец
19: присвоить $результат [ответ]
20: возврат
21:
22: функция Есть_в_окрестности? высота ширина объект
23: память локальный ответ
24: присвоить ответ [$ложь]
25:
26: если (Есть_в_квадрате? [высота] (вычислить - $результат [ширина] 1 ) [объект] )
27: присвоить ответ [$истина]
28: конец
29: если (Есть_в_квадрате? [высота] (вычислить + $результат [ширина] 1 ) [объект] )
30: присвоить ответ [$истина]
31: конец
32: если (Есть_в_квадрате? (вычислить - $результат [высота] 1 ) [ширина] [объект] )
33: присвоить ответ [$истина]
34: конец
35: если (Есть_в_квадрате? (вычислить + $результат [высота] 1 ) [ширина] [объект] )
36: присвоить ответ [$истина]
37: конец
38:
39: присвоить $результат [ответ]
40: возврат
41:
42: функция Чувство высота ширина
43: память локальный чувство
44: присвоить чувство {}
45:
46:
47: если (память существует $результат "МИР;[высота];[ширина]" )
48:
49: если (Есть_в_квадрате? [высота] [ширина] золото )
50: множество или чувство $ блеск
51: конец
52:
53:
54: если (Есть_в_окрестности? [высота] [ширина] яма )
55: множество или чувство $ ветерок
56: конец
57:
58:
59: если (Есть_в_окрестности? [высота] [ширина] вампус )
60: множество или чувство $ запах
61: конец
62: иначе
63: присвоить чувство удар
64: конец
65:
66: присвоить $результат [чувство]
67: >Чувство в [высота] [ширина] = [чувство]
68: возврат
69:
70: функция Создать_мир_вампуса
71: память локальный индекс_высота индекс_ширина количество_ям количество
72:
73: список сгенерить СПИСОК_ВЫСОТА 1 [МИР_ВЫСОТА]
74: список сгенерить СПИСОК_ШИРИНА 1 [МИР_ШИРИНА]
75:
76: для индекс_высота [СПИСОК_ВЫСОТА]
77: для индекс_ширина [СПИСОК_ШИРИНА]
78: присвоить "МИР;[индекс_высота];[индекс_ширина]" {}
79: следующий
80: следующий
81:
82:
83: список ВыбратьСлучайный индекс_высота [СПИСОК_ВЫСОТА]
84: список ВыбратьСлучайный индекс_ширина [СПИСОК_ШИРИНА]
85: если "[индекс_высота];[индекс_ширина]" == 1;1
86: увеличить индекс_ширина
87: конец
88: множество или "МИР;[индекс_высота];[индекс_ширина]" [МИР;[индекс_высота];[индекс_ширина]] вампус
89:
90:
91: список ВыбратьСлучайный индекс_высота [СПИСОК_ВЫСОТА]
92: список ВыбратьСлучайный индекс_ширина [СПИСОК_ШИРИНА]
93: если "[индекс_высота];[индекс_ширина]" == 1;1
94: увеличить индекс_ширина
95: конец
96: множество или "МИР;[индекс_высота];[индекс_ширина]" [МИР;[индекс_высота];[индекс_ширина]] золото
97:
98:
99: вычислить округлить количество_ям (вычислить * $результат [МИР_ВЫСОТА] [МИР_ШИРИНА] 0,2 )
100: присвоить количество 0
101: пока [количество] < [количество_ям]
102: список ВыбратьСлучайный индекс_высота [СПИСОК_ВЫСОТА]
103: список ВыбратьСлучайный индекс_ширина [СПИСОК_ШИРИНА]
104: если "[индекс_высота];[индекс_ширина]" != 1;1
105: если (множество и $результат [МИР;[индекс_высота];[индекс_ширина]] яма ) != яма
106: множество или "МИР;[индекс_высота];[индекс_ширина]" [МИР;[индекс_высота];[индекс_ширина]] яма
107: увеличить количество
108: конец
109: конец
110: цикл
111:
112:
113: множество или МИР;1;1 [МИР;1;1] стрелок
114: возврат
115:
116: функция Показать_мир_вампуса
117: память локальный индекс_высот индекс_ширина
118: для индекс_высота [СПИСОК_ВЫСОТА]
119: для индекс_ширина [СПИСОК_ШИРИНА]
120: Рисовать_квадрат [индекс_высота] [индекс_ширина]
121: >[индекс_высота] [индекс_ширина] = [МИР;[индекс_высота];[индекс_ширина]]
122: следующий
123: следующий
124: возврат
125:
126: функция Рисовать_квадрат высота ширина
127: память локальный х1 у1 х2 у2 цвет
128: вычислить * х1 [ширина] 100
129: вычислить * у1 (вычислить - $результат [МИР_ВЫСОТА] [высота] ) 100
130: увеличить у1 100
131: вычислить + х2 [х1] 100
132: вычислить + у2 [у1] 100
133:
134: присвоить цвет [цвет_пусто]
135: если (множество и $результат [МИР;[высота];[ширина]] яма )
136: присвоить цвет [цвет_ямы]
137: конец
138: если (множество и $результат [МИР;[высота];[ширина]] золото )
139: присвоить цвет [цвет_золота]
140: конец
141: если (множество и $результат [МИР;[высота];[ширина]] стрелок )
142: присвоить цвет [цвет_стрелка]
143: конец
144: если (множество и $результат [МИР;[высота];[ширина]] вампус )
145: присвоить цвет [цвет_вампуса]
146: конец
147: присвоить $ЦветКисти [цвет]
148:
149: рисовать прямоугольник [х1] [у1] [х2] [у2]
150: рисовать текстВПрямоугольнике [х1] [у1] (вычислить + $результат [х1] 35 ) (вычислить + $результат [у1] 20 ) "[высота],[ширина]"
151: если [МИР;[высота];[ширина]] != {}
152: рисовать текстВПрямоугольнике [х1] [у1] [х2] [у2] (строка заменитьСимволы $результат [МИР;[высота];[ширина]] ';' ' ' )
153: конец
154: возврат
155:
156: Создать_мир_вампуса
157: Показать_мир_вампуса
158: Чувство 2 2